home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’96 / Booting Gallery / Booting Gallery (source) / (Libraries) / Fluent Libraries / Utils / TimeTask.h < prev    next >
Encoding:
Text File  |  1996-06-22  |  756 b   |  52 lines  |  [TEXT/BROW]

  1. // TimeTask.h
  2. // Created by Bill Hubauer on Wed, Jul 26, 1995 @ 8:16 AM.
  3.  
  4. #ifndef __TimeTask__
  5. #define __TimeTask__
  6.  
  7. #ifndef __TIMER__
  8. #include <timer.h>
  9. #endif
  10. #include "ObjectQueue.h"
  11.  
  12. class MTimeTask : public MQueueElem
  13. {
  14.  
  15. public:
  16.  
  17.  
  18.     MTimeTask();
  19.     virtual ~MTimeTask();
  20.     
  21.     void    SetIdleTime(UInt32    milliTime);
  22.     void    StartTimer();
  23.     
  24.     virtual void    DoTask() = 0;        // must call StartTimer to get called again
  25.  
  26.             void    DisableTask()    {fEnabledQ = false;}
  27.  
  28.     Boolean        fPrimedQ;
  29.     Boolean        fEnabledQ;
  30.     
  31.     static    void    KillAllTimeTasks();
  32.  
  33. protected:
  34.     void    KillTask();
  35.     
  36.     struct ObjTask {
  37.         TMTask        task;
  38.         OSType        sig;
  39.         MTimeTask*    obj;
  40.         long        globals;
  41.     };
  42.     
  43.     ObjTask        _tm;
  44.     UInt32        _idleTime;
  45.     Boolean        fInstalledQ;
  46.     
  47.     static CObjectQueue        sTimeTasks;
  48.  
  49. };
  50.  
  51. #endif
  52.